﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using FacturacionII.Clases;
using FacturacionII.Modelo;
namespace FacturacionII.Formularios
{
    public partial class frmConfiguracion : FacturacionII.Formularios.frmMaestro
    {
        clsZonas objZonas;
        clsConfiguracion objConfiguracion;
        facturacionEntities objFacturacionEntidades;
        frmPrincipal principal;
        public frmConfiguracion()
        {
            InitializeComponent();
        }

        private void frmConfiguracion_Load(object sender, EventArgs e)
        {
            sbMantenimiento.ExpandedPanel = sbpModificar;
            objZonas = new clsZonas();
            cboDepartamento.DisplayMember = "DEPARTAMENTO";
            cboDepartamento.ValueMember = "CODIGO";
            cboDepartamento.DataSource = objZonas.CargarComboBoxDepartamentos();
            objConfiguracion = new clsConfiguracion();
            this.CargarDatosText();
            txtRazonSocial.CharacterCasing = CharacterCasing.Upper;
            txtNombreComercial.CharacterCasing = CharacterCasing.Upper;
            txtDireccion.CharacterCasing = CharacterCasing.Upper;
            txtEmail.CharacterCasing = CharacterCasing.Upper;
        }

        private void cboProvincia_SelectedIndexChanged(object sender, EventArgs e)
        {
            string idProvincia = cboProvincia.SelectedValue.ToString();
            cboDistrito.DisplayMember = "DISTRITO";
            cboDistrito.ValueMember = "CODIGO";
            cboDistrito.DataSource = objZonas.CargarComboBoxDistritos(int.Parse(idProvincia));
        }

        private void cboDepartamento_SelectedIndexChanged(object sender, EventArgs e)
        {
            string idDepartamento = cboDepartamento.SelectedValue.ToString();
            cboProvincia.DisplayMember = "PROVINCIA";
            cboProvincia.ValueMember = "CODIGO";
            cboProvincia.DataSource = objZonas.CargarComboBoxProvincia(int.Parse(idDepartamento));
        }

        private void btnNuevoSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        public void CargarDatosText()
        {
            objFacturacionEntidades = new facturacionEntities();
            configuracion confg = objFacturacionEntidades.configuracion.FirstOrDefault(
                a => a.id == 1);

            txtId.Text = confg.id.ToString();
            txtRuc.Text = confg.ruc;
            txtRazonSocial.Text = confg.razon_social;
            txtNombreComercial.Text = confg.nombre_comercial;
            cboGiro.SelectedValue = confg.id_giro;
            txtDireccion.Text = confg.direccion;
            cboDistrito.SelectedValue = confg.id_distrito;
            txtTelefono.Text = confg.telefono;
            txtCelular.Text = confg.celular;
            txtEmail.Text = confg.email;
            txtIgv.Text = confg.igv.ToString() ;
            txtUtilidad.Text = confg.utilidad.ToString() ;
            cboResponsable.SelectedValue = confg.id_usuario;
        }

        private void btnModificarGuardarCambios_Click(object sender, EventArgs e)
        {
            principal = new frmPrincipal();
            if (string.Empty == txtRuc.Text)
            {
                objConfiguracion = new clsConfiguracion();
                objConfiguracion.Guardar(
                    txtRuc.Text.Trim(),
                    txtRazonSocial.Text.Trim(),
                    txtNombreComercial.Text.Trim(),
                    1, //Convert.ToInt32(cboGiro.SelectedValue),
                    txtDireccion.Text.Trim(),
                    Convert.ToInt32(cboDistrito.SelectedValue),
                    txtTelefono.Text.Trim(),
                    txtCelular.Text.Trim(),
                    txtEmail.Text.Trim(),
                    Convert.ToDecimal(txtIgv.Text.ToString()),
                    Convert.ToDecimal(txtUtilidad.Text.ToString()),
                    principal.getIdUsuario());

                MessageBox.Show("SE HA REGISTRADO LOS CAMBIOS", "SISTEMA DE FACTURACION",
                    MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                objConfiguracion = new clsConfiguracion();
                objConfiguracion.GuardarCambios(
                    1,
                    txtRuc.Text.Trim(),
                    txtRazonSocial.Text.Trim(),
                    txtNombreComercial.Text.Trim(),
                    1, //Convert.ToInt32(cboGiro.SelectedValue),
                    txtDireccion.Text.Trim(),
                    Convert.ToInt32(cboDistrito.SelectedValue),
                    txtTelefono.Text.Trim(),
                    txtCelular.Text.Trim(),
                    txtEmail.Text.Trim(),
                    Convert.ToDecimal(txtIgv.Text.ToString()),
                    Convert.ToDecimal(txtUtilidad.Text.ToString()),
                    principal.getIdUsuario());

                MessageBox.Show("SE HA REGISTRADO LOS CAMBIOS", "SISTEMA DE FACTURACION",
                    MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            
            
        }
    }
}
